// init data
const testData = {
    a: 0,
    b: 0,
    c: 0
};

// type
const REQUESTA = 'requesta';
const REQUESTB = 'requestb';
const REQUESTC = 'requestc';

// do reducer
export const doSetA = (data) => {
    return{
        type: REQUESTA,
        preload: data
    }
}

// action
export const setA = () => (dispatch) => {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            // 服务端调用自身的代理有坑，请读文档 有道ssr的笔记。关于路径的问题。
            // 客户端用/这种路径可以
            // 服务端需要用http:// 这种完整路径
            // 如何区分客户端服务端？一个loadData 调用一个 props调用区分
            dispatch(doSetA(123));
            resolve(1)
        },3000)
    });
};

// reducer
const reducer = (state = testData, action) => {
    switch(action.type){
        case REQUESTA:
            return Object.assign({}, state, {a: action.preload});
        default:return state;break;
    }
};

export default reducer;
